package com.zrrd._01_servlet.servlet;

import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;

/**
 * @author WanJl
 * @version 1.0
 * @title ServletDemo02
 * @description servlet的生命周期，他是怎么来的？他是怎么没的？
 * @create 2024/1/12 15:39
 */
@WebServlet(urlPatterns = {"/demo02"},loadOnStartup = 0)
public class ServletDemo02 implements Servlet {

    private ServletConfig servletConfig;

    /**
     * 初始化方法
     * @param config
     * @throws ServletException
     */
    @Override
    public void init(ServletConfig config) throws ServletException {
        this.servletConfig=config;
        System.out.println(servletConfig);
        System.out.println("servlet.....init......");
    }


    /**
     *  service方法是提供服务的方法，每一次servlet被访问的时候，都会调用该方法
     *  可以多次调用
     * @param req
     * @param res
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {

        System.out.println("servlet...service......");
    }

    /**
     * 销毁的方法
     * 内存释放或服务器关闭的时候会执行，Servlet对象被销毁的时候调用
     */
    @Override
    public void destroy() {
        System.out.println("servlet....destroy......");
    }


    /**
     * 获取Servlet信息的方法，没什么大用
     * @return
     */
    @Override
    public String getServletInfo() {
        return null;
    }

    /**
     * 获取Servlet配置的方法
     * @return
     */
    @Override
    public ServletConfig getServletConfig() {

        return servletConfig;
    }
}
